Socket
Socket
Sign inDemoInstall

@thi.ng/arrays

Package Overview
Dependencies
8
Maintainers
1
Versions
176
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @thi.ng/arrays

Array / Arraylike utilities


Version published
Maintainers
1
Install size
531 kB
Created

Readme

Source

@thi.ng/arrays

npm version npm downloads Mastodon Follow

[!NOTE] This is one of 192 standalone projects, maintained as part of the @thi.ng/umbrella monorepo and anti-framework.

🚀 Please help me to work full-time on these projects by sponsoring me on GitHub. Thank you! ❤️

About

Array / Arraylike utilities.

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/arrays

ESM import:

import * as arr from "@thi.ng/arrays";

Browser ESM import:

<script type="module" src="https://esm.run/@thi.ng/arrays"></script>

JSDelivr documentation

For Node.js REPL:

const arr = await import("@thi.ng/arrays");

Package sizes (brotli'd, pre-treeshake): ESM: 2.99 KB

Dependencies

Usage examples

Several projects in this repo's /examples directory are using this package:

ScreenshotDescriptionLive demoSource
k-means clustering visualizationDemoSource
Randomized 4-point 2D color gradient image generatorDemoSource
Animated, iterative polygon subdivisions & visualizationDemoSource
Responsive image gallery with tag-based Jaccard similarity rankingDemoSource
Responsive & reactively computed stacked column layoutDemoSource

API

Generated API docs

Binary search result predicates

The following predicates can be used to perform predecessor / successor queries using binarySearch().

  • bsLT() - Returns index of last item less than search value or -1 if no such values exist
  • bsLE() - Similar to bsLT(), but for less-than-equals queries
  • bsGT() - Returns index of first item greater than search value or -1 if no such values exist
  • bsGE() - Similar to bsGT(), but for less-than-equals queries
  • bsEQ() - Merely syntax sugar, casting any non-found result indices to -1
import { binarySearch, bsGT, bsLT } from "@thi.ng/arrays";

const src = [10, 20, 30, 40];

bsLT(binarySearch(src, 25))
// 1

// greater-than queries also require the array length

bsGT(binarySearch(src, 25), src.length)
// 2

bsGT(binarySearch(src, 40), src.length)
// -1

Authors

If this project contributes to an academic publication, please cite it as:

@misc{thing-arrays,
  title = "@thi.ng/arrays",
  author = "Karsten Schmidt",
  note = "https://thi.ng/arrays",
  year = 2018
}

License

© 2018 - 2024 Karsten Schmidt // Apache License 2.0

Keywords

FAQs

Last updated on 23 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc